This section is intended to introduce the reader to various aspects of art, which may be related to various aspects of the present disclosure that are described and/or claimed below. This discussion is believed to be helpful in providing the reader with background information to facilitate a better understanding of the various aspects of the present disclosure. Accordingly, it should be understood that these statements are to be read in this light, and not as admissions of prior art.
Conventional approaches provide many different ways of protecting digital 3D graphical objects.
A first way that works for objects no matter the representation is bulk encryption, i.e. simply inputting the digital file for the object in an encryption device that uses e.g. AES-256 or RSA and treats the file as a sequence of bytes. The result is an essentially random sequence of bytes that cannot be interpreted by a 3D renderer without decryption. Bulk encryption ensures security during transport only.
A second way is point-based protection that works for objects represented by a set of points, usually joined by surfaces. The basic idea is to use reversible techniques to change the position of the points that compose the object. A secret key may be used to limit access to authorized users only. The shape of the output depends of the algorithm that is used. In all cases, the output is an object with aberrant surfaces. Therefore, even though the result is a 3D object, a renderer may have trouble displaying it. Examples of such solutions are found in EP 2453430, U.S. Pat. No. 8,869,292 and EP 2725567.
A third way is surface-based protection. The basic idea is to use reversible techniques to change the definition of the surfaces that compose the object. Examples of reversible techniques are controlled surface exchange and pseudo-random surface addition. A secret key may be used to limit access to authorized users only. As for point-based protection, the shape of the output depends on the algorithm used. In all cases, result is an object with aberrant surfaces. Therefore, even though the result is a 3D object, a renderer may have trouble displaying it. Examples of such solutions are found in WO 2012/000898 and EP 2665033.
A fourth way, described in WO 2013/034530, transforms any sequence of bits, such as the bits of the file of a 3D object, into a dense set of points that forms a 3D object that can be displayed with other 3D objects. This way can be useful to transform any digital object into a 3D object, but due to the technique used, the larger the size, the bigger the risk of point collision as the space of the ‘ciphertext’ is small.
EP 2725555 presents a way to optimize the rendering of 3D objects protected using a particular point-based protection and surface-based techniques. As mentioned, these techniques output non-standard objects that are very resource consuming to render and for which classic rendering optimization such as rasterization does not work properly. The optimization of EP 2725555 masks a protected object in order to ‘hide’ the protected object to the renderer, thus making most optimizations usable again.
It will be appreciated that it is desired to have a solution that overcomes at least part of the conventional problems related to protection of graphical 3D objects. The present principles provide such a solution.